\section{Popis domény}
Systém je možné chápat jako relace dvou hlavních entit: \textit{uživatel (User)} a \textit{kurz (Course)}.
Entita uživatel reprezentuje žijící osobu v reálném světě, která může mít různé role. 
V relaci entit \textit{kurzu} a \textit{uživatele} jsou rozlišovány dvě následující role:
\begin{itemize}
   \item \textit{Účastník kurzu (CourseParticipant)} může vykonávat nemodifikační akce spojené s daným kurzem. Těmito akcemi je myšleno prohlížení výukových materiálů a spouštění testů.
   \item \textit{Správce kurzu (CourseManager)} je zodpovědný za obsah kurzu tj. vytváří, edituje a maže výukové materiály a testy. Dále má na starosti přidělování práv uživatelů ke spravovanému testu.  
\end{itemize}

V systému existuje i třetí role \textit{správce systému}, která je svázaná pouze s uživatelem. Tato role umožňuje vytvářet nové uživatele a kurzy. Role také garantuje uživatelskou roli \textit{správce kurzu} nad každým existujícím kurzem v systému. 
\paragraph{}
Entita \textit{Kurz} je spojena s následujícími entitami:
\begin{itemize}
   \item S několika entitami \textit{výukový materiál (StudyMaterial)}
   \item S několika entitami \textit{test (Test)}
   \item S několika entitami \textit{uživatel} v roli \textit{účastník kurzu}
   \item S několika entitami \textit{uživatel} v roli \textit{správce kurzu}
\end{itemize}

\paragraph{}
\textit Několik \textit{výukových obsahů (StudyMaterial)} existuje vždy v relaci s \textit{kurzem}. \textit{Výukový obsah} může být tvořen několika 
různými elementy \textit{(StudyMaterialElement)}:
\begin{itemize}
   \item \textit{Formátovaný text (RichText)}
   \item \textit{Obrázek (Picture)}
   \item \textit{Video (Video)}
   \item \textit{Audio (Audio)}
\end{itemize}

\paragraph{Typy otázek (Questions)}
\label{sec:questions}
\textit Podobně jako \textit{výukový obsah} existuje několik \textit{testů} vždy v relaci s \textit{kurzem}. \textit{Test} je tvořen nenulovým počtem otázek z následujícího výběru:
\begin{itemize}
   \item \textit Otázka s jednou správnou odpovědí \textit{(SingleChoice)}
   \item \textit Otázka s žádnou až několika správnými odpovědi \textit{(MultiChoice)}
   \item \textit Otázka vyžadující přiřazení \textit{(Matcher)}
   \item \textit Otázka umožňující označení oblasti v obrázku \textit{(PictureLocation)}
   \item \textit Otázka vyžadující seřazení odpovědí \textit{(Order)}
   \item \textit Otázka s vlastní textovou odpovědí \textit{(OpenAnswer)}
   \item \textit Otázka s možností nahrání vlastního souboru \textit{(UploadFile)}
\end{itemize}

